This invention relates a method and system for loading instructions into an executing process.
With prior computer systems, instructions for one or more applications are entered into the system, compiled, and then executed. If changes, updates, and/or upgrades needed to be made to one or more of the existing applications being executed by these prior systems, the new instructions would be added into or would replace instructions in one or more of the applications source code, and then the old and the new instructions would be recompiled. One or more of the existing applications executing on the computer system would have to be shut down, a physical replacement of executable code would need to be introduced to the computer system, and the new executable code would have to be executed on the computer system. Although this process works, it still requires a disruption to the users of the system, especially to those systems needing to support twenty-four hour processing.
By way of example, a lender may execute a consumer lending application in a computer system to process loans for customers from a twenty-four hour call center. If the lender decides to change, update, and/or upgrade a portion of the consumer lending application, the lender would need to stop the execution of the consumer lending application, replace the existing executable code with the newly compiled executable code, and then execute the new executable code. Accordingly, the lender is unable to process any loans while the change, update, and/or upgrade of the consumer lending application takes place, resulting in users having to log off and then back on, at some predetermined time, and unnecessary downtime in the processing of loans.
A method for loading instructions into an executing process in accordance with one embodiment of the present invention includes a few steps. First, a first application comprising at least one cartridge selected from a set of the cartridges stored in a memory is executed. While the first application is being executed, a second application comprising at least one of the cartridges is instantiated with the first application. Once the second application is instantiated with the first application the second application is executed.
A computer readable medium in accordance with another embodiment of the present invention has stored thereon instructions which, when executed by a processor, cause the processor to perform the steps of: executing a first application comprising of at least one cartridge in a set of cartridges; instantiating a second application comprising of at least one of the cartridges selected from the set of the cartridges with the first application during the execution of the first application; and executing the second application instantiated with the first application.
A system for loading instructions into a process being executed by a processor in accordance with yet another embodiment of the present invention includes a memory device, an instantiator, and an executing device. The memory device stores a set of cartridges. The instantiator is configured to instantiate a first application comprising at least one cartridge selected from the set of the cartridges stored in the memory. The executing device is configured to execute the instantiated first application, wherein the instantiator is configured to instantiate a second application comprising at least one of the cartridges with the first application during the execution of the first application and the executing device is configured to execute the second application instantiated in the first application.
With the present invention, software instructions that were not available and/or written at the time of compilation of software instructions for an application that is currently being executed can be loaded in and executed with the currently executing software instructions. This represents a significant departure from the normal compile-time requirements in prior systems which required all of the instructions for an application to be known at the time of compilation. Accordingly, this substantially reduces downtime and enhances overall efficiency.